In the field of network communications, Voice over Internet Protocol (VoIP) calls are typically setup over multiple networks, such as backbone network and one or more customer or carrier networks. Typically, when a call request enters the backbone network, a core routing device determines how to most efficiently route the call out of the backbone network to the customer network. The core routing device chooses among a number of edge devices on the backbone network that interconnect with edge devices on the customer network. The choice of which edge device to route to within the backbone network is typically based on the called telephone number and/or an associated IP address. A routing tree of customer telephone numbers and customer IP addresses is accessed to determine the outbound edge device. In conventional systems, one or more outbound edge devices on the backbone network are dedicated to each customer network. For example, the routing trees, as well as other customer network-related data, are typically hard-coded in the backbone edge devices. Such dedicated approaches have drawbacks related to lack of flexibility, lack of scalability, and heightened sensitivity to customer network changes.
When outbound devices are dedicated to a customer, devices that perform call routing functions in the interior of the backbone network often need to be aware of (e.g., programmed with) details of the interconnections to customer network. For example, a core routing engine may need to have information about particular IP addresses that can be directly reached by the outbound edge devices. Such an arrangement tends to make the core routing devices inefficient because these devices often need to perform relatively complex processing to determine which outbound devices to use to route calls. In addition, the core router configuration is highly sensitive to changes in IP addresses on the customer network. Conventionally, the outbound devices have not shielded the core routing equipment from changes, but rather, a change to the customer network often ripples through the backbone network, requiring changes at multiple levels of the infrastructure.
Changes to network interconnections can also impact other aspects of telecommunications service, such as billing and operations. For example, IP addresses on the customer network may be associated with bills that are issued by the backbone network service provider to the customer network provider. When IP addresses change, if the billing system is not promptly updated, then bills may be wrong; e.g., the bills may not correspond to the actual number of VoIP addresses being serviced. There often is a separation between the update to the backbone network infrastructure and the other business processes, so that the change will need to be made not only in the outbound edge devices, to maintain proper routing, but also in the billing systems, operations, and others. As such, customization to the customer network necessitates changes in various aspects of the backbone network. However, conventional approaches toward responding to such customer changes have generally not been coordinated or efficient.
It is with respect to these and other considerations that embodiments of the present invention have been made.
While the invention is amenable to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and are described in detail below. The intention, however, is not to limit the invention to the particular embodiments described.